package com.leap.config;

import com.leap.entity.Message;
import com.leap.utils.Const;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class WebConfiguration {

    @Bean
    List<Message> messageList(){
        List<Message> messageList = new ArrayList<>();
        messageList.add(new Message("system", Const.KIMI_INIT));
        return messageList;
    }


    @Bean
    BCryptPasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    /**
     * 配置基本信息
     */
    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .info(new Info()
                        // 标题
                        .title("基于微信小程序的综合科普平台 Api接口文档")
                        // 描述Api接口文档的基本信息
                        .description("knowLab-综合科普平台 Api接口文档")
                        // 版本
                        .version("v1.0.9")
                        // 设置OpenAPI文档的联系信息，姓名，邮箱。
                        .contact(new Contact().name("leap").email("2386993302@qq.com"))
                        // 设置OpenAPI文档的许可证信息，包括许可证名称为"Apache 2.0"，许可证URL为"http://springdoc.org"。
                        .license(new License().name("Apache 2.0").url("http://springdoc.org"))

                );
    }



}
